#ifndef AEROSOL_SINGLE_SCAT_LAYER_H
#define AEROSOL_SINGLE_SCAT_LAYER_H

#include "aerosol_atmosphere.h"

class AerosolSingleScatLayer : public AerosolAtmosphere
{
    Q_OBJECT
public:
    explicit AerosolSingleScatLayer(QString layerName,
				    double hBottom,
				    double hTop,
				    double (*smatrixAero)[3][3],
				    double (*pbsdfAeroAveraged)[N_ZENITH][2*N_PI][3][3],
				    double aerosolTau = 0,
				    QObject *parent = 0);

public slots:
    virtual void recvSolar(double intensity,
			   double zenith, double azimuth);


protected slots:
    virtual void downInResponse();

    virtual void solarScatCaculate();
    virtual void solarUpScatCaculate();
    virtual void solarDownScatCaculate();


};

#endif // AEROSOL_SINGLE_SCAT_LAYER_H
